<<< CIDMan - Revision History >>> --- 14-Jan-96 - Release 1.25 ------------------------------------------ Corrected a Null Pointer Fatal Error when editing the ghost numbers when the Caller DB Maint panel is in "Add" mode but the name and number fields are empty. Modem Properties Panel - it should be 1 and 2 stop bits, not 1 and 0. This is cosmetic only - in that if you clicked "0" before, it'd still give you 2 stop bits. Rolled Call Handling - corrected a bug in the number comparison routines which determine if the rolled call is from the same number or not. Modem Properties Panel - The "View/Modify CID Parms" button is no longer displayed if the modem type is one of the Rochelle CID devices. Made some modifications to support some KNOWN Canadian CallerID non- conformities. These changes should allow CIDMan to read and process the CID data provided by Canadian phone companies. When "Modifying" a modem entry - if you make changes and then Cancel the modifications, the modem entry is re-displayed on the panel to revert back to the way the definition actually stands. Made some modifications to the Serial Read portions - When the notify routine is called, I read what is available on the port, and then wait for 50 ticks, and then read again. If I don't get any more data, then I assume I'm finished reading the CID data from the port. Otherwise, I repeat the process. This will allow for a more uniform handling of the different baud rates which may be selected for a CID device. Slow baud rates == longer reporting times for the CID data to come from the modem. When a modem command is sent to the modem, all spaces are squeezed out. For example, if you have a dial string that looks like this: AT %s DT W %s\r \p8 \p6 ATH0 \r Then, previously CIDMan would send out the dial portion (ATDT...) and then try to send out a "space" character (the character between the "\r" and the "\p6") which would cause the modem to abort the dial. This has been corrected, in that the above dial string would be squeezed of all space characters before being processed. Added an "Unknown Caller" announcement - for when a call comes in that has CID data in it, but that data does not represent anyone in the Caller DB. Added a "Clear Caller History" entry to the File menu. This will clear out (after confirmation) all history entries for all Caller DB entries. Modified the way "Debug Modem Messages" works. The Message Box approach for all incoming and outgoing modem traffic just wasn't working - and sometimes caused GPFs. So, I reworked it such that when the "Debug Modem Messages" selection (from the Misc. Props Panel) is checked, then the "modemDebugFile" (now found in the CIDMAN.INI) file is written to with a dump of the data going-to/coming-from the modem. The default file for modem debug data is "modem.dbg". Added "Unknown Number Announce". When an incoming call is received for which CID data is detected, but for which no entry in the Caller Database is found - then the number is "read out". This is enabled via the "Sound Properties" panel. The "Unknown Caller" setting and the "Unknown Number Announce" settings are not mutually exclusive. Both may be set. If they are both set, then the Unknown Caller sound file is played first, then the read out of the incoming number is played. When a Caller Database entry's Call Disposition is set to "Announce", and no announce file is specified - the caller's *main* number (not the ghost number) is "read out" by CIDMan. --- 28-Dec-95 - Release 1.24 ------------------------------------------ Added capability for ignoring "Rolled Calls". A rolled call is a call that first appears on Line 1 (for example). Then, because you have the phone company's "Forward on Busy/No-Answer" service, it rolls to a second line (where your answering machine is, for example). When it rolls to the second line, if you have the Rochelle multi-line CID units, then CIDMan used to report the rolled call as a separate call and the Caller List would show two entries for what is essentially one call. Now, CIDMan can be configured to ignore these types of "rolled calls". The "Ignore Rolled Calls" setting on the Misc. Props Panel turns this feature on and off. When a "duplicate" (rolled) call is detected and if the "Ignore Rolled Calls" setting is enabled, then CIDMan will display the message "duplicate call ignored" at the bottom of the Main Window - but no duplicate call record will be added to the Caller List. Call History added. The Caller History shows a list of the exact dates and times that a given caller in the Caller Database has called in the past. Entries in the history list may be individually/group deleted, or all of the history for the selected may be deleted. The "Ghost #" button on CIDMan's Main Panel will, if a Caller DB entry is associated with the call, turn into a "Caller History" button - which will bring up the "Caller History" panel showing all previous calls. When no Caller DB entry is associated with a call in the Caller List, the button is labeled as "Ghost #" and may be used to assign the caller to another entry in the Caller DB (as before). When CIDMan is iconized, its position is no longer saved as a result of the minimization. This will have the effect that if CIDMan is iconized when terminateded (or when the system is rebooted/etc.), CIDMan, upon its next invocation, will not be in a position other than the one it was before it was minimized/iconized. The "Hangup" and "OK/Close" buttons on the Dialing Directory panel were separated. The Prefix Long Distance "Dial" button on the Dialing Directory is no longer shown if no long distance access code is defined (Telephone Properties). Also, if the Long Distance Access Code is defined, then the prefix is shown in the button's text. --- 18-Dec-95 - Release 1.23 ------------------------------------------ Callbacks to Out-of-area and Private calls are no longer attempted. Caller Database entries associated with a range of numbers are now allowed. For example, if a telemarketing firm has a block of numbers defined from 214-555-0000 to 214-555-0099, then you could define the entry in the Caller Database as "214-555-00??", and then anytime one of those lines is reported in the CID data, the call is associated with the telemarketing firm's entry in the CDB. Pheature Data File, if modified, is now saved at the end of the CIDMan session if it wasn't written to disk during the course of CIDMan execution. --- 16-Dec-95 - Release 1.22 ------------------------------------------ Hangup after Pheature invocation now works properly - even if you don't have a "hangup" portion to your modem's Dial Command. A scroll-bar was added to all drop-down lists A popup Message Box is displayed after a pheature is invoked giving the result of the invocation. This was done because the status message at the bottom of the screen was getting truncated for long pheature names. Corrected a previously-hidden stack-overflow situation in the Paging Function. --- 14-Dec-95 - Release 1.21 ------------------------------------------ This release is mainly just a help file release - I added a "Step-by- Step Guide to Modem Definition" to aid in the setup of the CID Device used by CIDMan for collecting the Caller-ID information. This is the number one problem encountered by new users and I hadn't addressed it well enough in a "User's Guide" fashion. The only functional program change made was something that became apparent while writing the "Step-by-Step" guide mentioned above - the Alternate Modem Properties panel doesn't need to have a "View/Define CallerID Parms" button - so it was removed. --- 13-Dec-95 - Release 1.20 ------------------------------------------ Added "Page non-Line 1 Calls" to the Pager Properties panel. This was mainly added for users (like me) whose first line rolls to the second line on Busy/No-Answer. Corrected a modem release after page bug. --- 11-Dec-95 - Release 1.19 ------------------------------------------ Corrected a bug with Pheature Invocation - added "Invocation Duration" which indicates how long the modem is to be seized before it is to be released (thereby terminating the feature's dial sequence). Previously, the dial sequence of invoked pheatures get terminated immediately after they were invoked. Added Modem Definition Import/Export Capability. Using this feature, I will collect modem definition files from users and make them accessible from my home page - allowing new users of CIDMan to easily define their modems - benefiting from other user's experience. --- 10-Dec-95 - Release 1.18 ------------------------------------------ Added "Pheatures" (Phone Features) support. Pheatures are dialing sequences which can be used to enable and disable the CLASS functions offered by the phone company (e.g. *70 turns off Call Waiting for duration of the outgoing call). In that any modem-supported command character (including commas, "W", etc.) may be specified in the sequence's Dial Sequence - elaborate sequences may be defined (e.g. Check Voice Mail Messages). Also, in conjunction with the above Pheatures support, you can now specify whether or not, as a default, you want Call Waiting Disabled for all outgoing calls placed by CIDMan. You can also specify "Block Caller-ID" as the default for all outgoing calls. These default settings may be overridden by the user on the Dialing Directory panel - via the "Call Control" section. The "Dial Prefix" support added in version 1.17 has been re-worked slightly such that a "Pre-Dial Sequence" is now defined and activated. --- 08-Dec-95 - Release 1.17 ------------------------------------------ Updated CIDMan to conform to changes made in the latest release of PageMaster (1.62). Older versions of PageMaster (<1.62) will no longer work with this and future releases of CIDMan. Older versions of CIDMan will not work with newer versions (>= 1.62) of PageMaster. Omnitrend, makers of PageMaster, changed the names of the DDE services which CIDMan invokes to perform alpha-numeric paging. Assurances have been received by Omnitrend that backwards compatibility will be maintained in future releases and that the deletion of the old service name that CIDMan was using was accidental. Added "Dial Prefix" to the Telephone Properties panel. This was by request of someone who wanted to have a way to dial "9" to access an outside line when dialing from within the program. --- 30-Nov-95 - Release 1.16 ------------------------------------------ Corrected a bug in the PageMaster DDE conversation sequence that appeared when CIDMan auto-invoked PageMaster and made a page, then PageMaster was killed by the user, and then another page had to be made - CIDMan thought that the DDE server was still there even though it wasn't. CIDMan now checks for errors on the conversation and if an error was detected, then tries to re-invoke PageMaster to start the process over again. --- 29-Nov-95 - Release 1.15 ------------------------------------------ Re-worked a small portion of the paging function initiation code to give some more realistic messages. Nothing big - just something that's been bothering me for some time. Fixed a modem seize problem - when the modem is seized by CIDMan, but is actually in use by another program - CIDMan will no longer experience a Fatal Error. --- 22-Nov-95 - Release 1.14 ------------------------------------------ Corrected a modem-seize bug where the initialization string would sometimes cancel out the dial string when trying to "Call Back" an entry in the Caller List. Made the "modem seize error" messages consistent throughout the application (a modem seize error occurs when the modem seizure is attempted but the modem is either already active, undefined, or not command-receptive). Corrected a "Fatal Error" when a callback from the Caller List is attempted. Approximately one minute after the callback call is placed, the Fatal Error occurs. Centralized the few "sleep" loops which exist in the program. This was mainly done just to insure consistency in handling the sleep loops - such that other Windows events (both in CIDMan and in other applications) could still be responded to. On the Caller Database | Edit Ghost Number List panel, seven digit phone numbers are now accepted (just like all other phone number fields in the program) and the "Own Area Code" is prepended to the number to build a ten-digit number.. The Registration Phone Number may no longer be entered as a Ghost Number. Corrected a bug with the formatting of the Alpha-Pager message where the line of text is exactly the same length as the row of data on the pager - it no longer wraps and screws up the formatting. Added a "Pad Character" field to the Alpha-Pager properties field. This was needed because some paging services coalesce a string of multiple spaces into a single space, which screws up CIDMan's nicely-formatted messages. The pad character can be any character which can be displayed on a pager. --- 17-Nov-95 - Release 1.13 ------------------------------------------ Added functionality to the PageMaster "Pager Name" field on the AlphaPager properties panel such that more than one pager may be sent notifications. Any number of pagers may be notified by separating the individual pager names with commas. Improved modem debug message handling. Should help to reduce the number of GPFs which occur when debug messages are on. Found a path through the modem send code where a null pointer is sometimes passed in. This was corrected. Also added a modemDebugFile entry to the CIDMan section on the WIN.INI file. When this item is present and set to a file name - all traffic to and from modem devices (both CID Device and Alt Modem) will be dumped to this file for later review/debugging. This was mainly added as a debugging aid for me when people experience problems with their modem. They don't have to tell me what came up in the Message Boxes, they can dump the data to a file and send the file to me. Added F8 and F9 as accelerator keys. F8 will enable the pager, and F9 will disable the pager. --- 14-Nov-95 - Release 1.12 ------------------------------------------ Added a field to the Alpha Pager Properties panel so that if an unregistered evaluation copy of PageMaster is being used with CIDMan, then a "pad" value can be entered such that the formatting that CIDMan works so hard to accomplish won't come out on the pager looking like total crap when PageMaster prepends their unregistered nag text ("Unregistered Version:") at the beginning of the page message. --- 13-Nov-95 - Release 1.11 ------------------------------------------ Made some minor changes in the Alpha Pager properties panel. --- 08-Nov-95 - Release 1.10 ------------------------------------------ Turned off that insidious "feature" where the Caller List is given "focus" every 30 seconds. This was supposed to insure that whenever you press the "down" arrow key, no matter what previous actions you had taken, the caller entry would be displayed. I decided that the costs vastly outweighed the benefits. When an ECP entry is added, the "Parameters" field is cleared. Added a field on the External Comm Programs setup panel for "Working Directory". Some programs need to be invoked in a specific directory. If this field is left blank, then the directory in which the ECP resides is used as the program's "home" (working) directory. Straightened out that whole Paging Mess. It was so confusing when a call would be paged that even I didn't fully understand it and certainly couldn't explain it. Now, you have the choice of paging the following types of calls: All Caller-Database calls (regardless of "Page this caller" flag in the CDB panel), Selected Caller-Database calls (only those calls marked "Page this caller" in the CDB panel will be called), Unknown callers (callers for whom no entry exists in the Caller Database), Out-of-area callers, and Anonymous callers. Should be much easier to describe, document, and use. Added Alpha-Pager support. This support is currently offered in conjuction with a shareware program called PageMaster from Omnitrend, Inc. PageMaster has a well-proven paging engine which handles all aspects of the paging protocols used by paging services today. This approach was opted for because the internal structure of CIDMan doesn't lend itself well to handling the processing of a protocol. Made a change in CIDMan's modem management. If you have an Alternate Modem, then CIDMan will not "seize" the modem unless it is actually going to do something with it. Currently, the modem is "seized" for the following situations: Call-back features, Dialing Directory functions, ECP invocation, Call-block functions, and the Paging Function. Of course, if you just have one modem - the CID Device, then CIDMan must keep that device open in order to obtain CID information from the device. --- 06-Oct-95 - Release 1.09 - First Release -------------------------- Made a modification such that the active list wouldn't be updated every time a call from the Active Caller List wouldn't be updated in the list. This basically just stopped the listbox from flashing when manuevering through the Active List. Added F10 as an accelerator for "Cancel Outstanding Pages" - I was tired of having my modem blast me with the page dial string during the middle of a received call. My modem, a Zyxel Elite 2864 is a nice modem, but it's not too smart about how it waits for dial tone to start dialing out. Fixed a GPF caused when trying to add a ghost number for an entry in the Caller Database and the ghost number entered is blank (zero-length). --- 29-Sep-95 - Release 1.08 - BETA ----------------------------------- Fixed a bug where Out-Of-Area and Private calls no longer get paged properly at all, which was introduced in trying to fix a bug where Out-of-area and Private calls didn't get paged properly when the "Own Area Code" setting was not set. Fixed a bug so that now you can add a previously-unknown caller to the Caller Database via the "Add..." button on the main panel - and that entry will immediately be displayed in the Caller Database Maintenance panel. --- 25-Sep-95 - Release 1.07 - BETA ----------------------------------- On CID Device and Alternate Modem Properties panels, the "Modify Caller-ID Parameters" button changes its caption dependent upon the context which the panel is in at the time (i.e. ADD and MODIFY state, the button reads "Modify..." and in the SELECTED and LIST state, reads "View..."). On Miscellaneous Properties panel, the "Set System Time..." checkbox immediately notifies you when you try to turn the feature off on an unregistered copy of the program. On modem properties panels, you can now modify without getting "Memory Allocation" Fatal Errors. The Rochelle CDU 20040 was listed along with the Rochelle CDU-2802 device in the "Modem Type" combo-box on the Modem Properties panel. The 20040 reports CID information for up to six telephone lines. --- 25-Sep-95 - Release 1.06 - BETA ----------------------------------- Line on which call was received is now represented in the Call Information box, as well as in the Caller List. This feature is only useful for devices which report incoming line information - currently only the Rochelle CDU-2802, as well as Rochelle's six-line unit (model number unknown). Line status information received from the Rochelle CDU-2802 after CID is reported no longer causes a GPF. --- 23-Sep-95 - Release 1.05 - BETA ----------------------------------- Improved handling of missing Name Data on the Rochelle CDU-2802. Auto-Add feature corrected so that seven-digit CID number data is now not repeatedly auto-added to the Caller Database. --- 23-Sep-95 - Release 1.04 - BETA ----------------------------------- Fixed an elusive GPF for modems who report date as MMDD (rather than the expected MM-DD). Same deal with HHMM. Added debug capabilities to the parsing and call processing algoritms. Pager Properties has a "Number Delimiter" field added. This is to support paging companies who use the '*' character as a terminator. CIDMan was automatically putting the '*' in between the exchange and rest of the number when being paged - so some people were getting only the exchange information on paged calls. Pager Initial Interval - minimum time has now been reduced to 1 second. Dial Command for modem devices is now parsed to insure that there exists two "%s" placeholders - and if they are specified as "%S", they are converted to "%s", which is what the sprintf I use the Dial Command string for wants. Line Number data is now (kind of) supported. If you're using the Rochelle CDU-2802 unit, the Call Log will indicate on which line the call was received. Soon, the information will also be reflected on the Main WIndow (if your CID device supports two lines). Improve checking for when modem is active before re-initializing it. In the past, this caused some problems with device hangings. --- 22-Sep-95 - Release 1.03 - BETA ----------------------------------- Incoming calls from phone companies which provide only seven digits on local calls will now have the "own area code" pre-pended to the data to make it a ten digit number. If no "own area code" is defined, "000" is used instead. Auto-add feature now sets number of calls to 1 and records date/time of last call. Evaluation now ends after X days, not X+1. In other words, you won't see a caption that says "0 of 3 evaluation days remain". Various, sundry, and major modem assignment problems have hopefully been ironed out. Search string parsing of formatted CID data from modems has been re-worked to improve robustness and reliability. --- 19-Sep-95 - Release 1.02 - BETA ----------------------------------- Pressing "Previous" or "Next" when no entry in a caller list is selected no longer causes a GPF. If the Alternate Modem is set to the same device as the CID Device (or vice versa) - the Alternate Modem setting is cleared. The two devices cannot be set to the same definition. This should clear up several spurious GPFs that have been reported. Date/Time processing for Supra modems - who report CID date and time on separate lines of data. Baud Rates > 32K are now supported (and the modem will open correctly). --- 19-Sep-95 - Release 1.01 - BETA ----------------------------------- Corrected Telephone Properties GPFs when a value was initially defined and then deleted. --- 18-Sep-95 - Release 1.00 - BETA -----------------------------------